package com.raos.quartz.third;

import org.quartz.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Quartz的3大API之一 -- Trigger
 *  有时候我们希望定时任务可以在一定的时间内是每天执行，如：2019年11月24日到2019年12月15日之间执行，
 *  这时，我们就需要使用 startTime 和 endTime 来限定事件范围。
 *
 * @author raos
 * @email 991207823@qq.com
 * @date 2021/10/01 20:15
 */
public class ThirdJob implements Job {
    private Logger logger = LoggerFactory.getLogger(ThirdJob.class);

    private SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        Date date = new Date();
        String formatDate = sf.format(date);
        logger.info("现在的时间是：{}", formatDate);

        System.out.println("具体执行的业务...");
        Trigger trigger = jobExecutionContext.getTrigger();
        logger.info("开始时间：{}", sf.format(trigger.getStartTime())); //打印开始时间
        logger.info("结束时间：{}", sf.format(trigger.getEndTime()));   //打印结束时间
        System.out.println();
    }

}
